Communication networks, such as Local Area Networks (LANs), are known to interconnect communication devices spanning a limited geographical area (such as within a building or campus) by a physical medium, such as coax, twisted pair, fiber optic cable or wireless medium. Generally, LANs include multiple endpoints (or “hosts”), such as computers or computer elements sharing a common communication protocol such as, for example, Internet Protocol (IP). Oftentimes, LANs include gateway/server nodes (hereinafter “servers”) for performing certain algorithmic functions requested by the hosts. For example, servers may perform a “gateway” function linking the LAN to external networks that use different communication protocol(s), such that messages may be communicated between the hosts and the external networks. The hosts and servers may be linked by a switching element comprising, for example, one or more Ethernet switches, that reside within the communication network.
To enhance reliability of the system, it is known to employ redundant servers to perform algorithmic functions including but not limited to gateway functions. For example, in a network including two servers, one server may be designated as active and the other standby such that, in the event of a failure of the active server, the server functionality transitions from the failed server to the standby server. In such manner the standby server becomes the new active server and, as quickly as possible, the server functionality transitions to the new active server. For example, in the case where the servers perform gateway functions, and wherein the active server fails, packets sent to/from the hosts may be redirected across new transmission paths (i.e., via the newly active server rather than through the failed server).
One approach to establish the new transmission paths is to inform the hosts whenever the active server fails, thereby instructing the hosts to send packets to the backup server and stop sending packets to the failed active server. More generally, the hosts may be informed whenever the active server fails so that they know which server is available to perform algorithmic functions. However, this approach is inefficient in terms of message traffic and can cause intolerable delays due to the time required for the network to detect failure of the active server, identify the backup server as the newly active server and inform the hosts accordingly. Another approach is to have the hosts affirmatively send packets to both the active and standby servers. However, this approach is even less efficient and may cause adverse effects (e.g., quality, bandwidth) on the network due to superfluous message traffic.
It would be desirable for purposes of reliability and efficiency to provide a server architecture employing redundant servers, within a communication network including one or more hosts connected to the servers, in a manner that does not require hosts to be notified when a server fails or which server is active, and which reduces or eliminates superfluous message traffic. The present invention is directed to addressing these needs.